package com.yishun.springboot.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import com.yishun.springboot.pojo.GwsLonggangquTspDistrictlevel;
import com.yishun.springboot.pojo.RequestGongWuShuTspBaseInfo;
import com.yishun.springboot.pojo.RequestGongWuShuTspRealTimeData;
import com.yishun.springboot.pojo.TspGetData;

/**
 * 揚塵監測Device_code進行的DB查詢類
 * @author YS
 *
 */
@Component
public interface TspGetDataMapper {

	//查找所有数据
    List<TspGetData> findAll();
    
  //根据DeviceCode查找所有关于tsp设备的本机mysql历史数据--目前是广州三馆请求的数据dao
    List<TspGetData> findAllByDeviceCode(String DeviceCode);
    
    //查找最近一条的数据
    TspGetData  findOne(String DeviceCode);
    
    //根据device_code查找一条最近的数据（可以直接提交到工务署的）提交到tsp接口基本信息的数据
    RequestGongWuShuTspBaseInfo  findRecentlyBaseInfoOneSendGWS(String DeviceCode);
    
    /**
     * 根据device_code查找一条最近的数据（可以直接提交到工务署的）提交到tsp接口实时数据信息的数据
     * @param DeviceCode
     * @return
     */
    RequestGongWuShuTspRealTimeData  findRecentlyRealTimeOneSendGWS(String DeviceCode);
    
  //插入一条数据
    int innerOneRecord(TspGetData tspGetData);
    
    //start 以下开始是web层查询今天昨天等等对比数据或分析数据
    
    /**
     * 统筹今天tsp数据条数
     * @return
     */
    int findTodayTspTotalNum();
    
    /**
     * 统筹昨天tsp数据条数
     * @return
     */
    int findYesterdayTspTotalNum();
    
    /**
     * 统筹某天tsp数据条数
     * @return
     */
    int findOnedayTspTotalNum(String data);
    
    /**
     * 统筹近七天tsp平均数据
     * @return
     */
    int findOneweekTspTotalNumAverage();
    //end
    
    /**
     * 新增tsp推送给区级工务署信息
     * @param param
     * @return
     */
    Integer addDistrictlevel(@Param("paramMap")Map paramMap);
    
    List<GwsLonggangquTspDistrictlevel> findByCode();
    
    RequestGongWuShuTspBaseInfo  findRecentlyBaseInfoOneSendGWSTow(String DeviceCode);
    
}